package com.qinggeng.project.system.service;

import com.qinggeng.project.system.domain.UserAlias;

import java.util.List;

public interface IUserAliasService {

    /**
     * 新增
     * @param alias
     * @return
     */
    int insertUserAlias(UserAlias alias);

    /**
     * 更新
     * @param alias
     * @return
     */
    int updateUserAlias(UserAlias alias);

    /**
     * 删除
     * @param id
     * @return
     */
    int deleteUserAliasById(Long id);

    /**
     * 查询普通用户的别名
     * @param userId
     * @return
     */
    UserAlias selectMemberUserAliasByUserId(Long userId);

    /**
     * 根据别名查询
     * @param alias
     * @return
     */
    UserAlias selectUserAliasByAlias(String alias);

    /**
     * 根据条件查询别名集合
     * @param where
     * @return
     */
    List<UserAlias> selectUserAliasList(UserAlias where);

    /**
     * 设置普通用户登录信息
     * @param alias
     * @param token
     * @return
     */
    int setMemberUserAlias(String alias,Long userId,String token);

    /**
     * 设置骑手登录信息
     * @param alias
     * @param token
     * @return
     */
    int setCourierUserAlias(String alias,Long userId,String token);

    /**
     * 设置登录用户的别名
     * @param alias
     * @param userId
     * @param userType
     * @param token
     * @return
     */
    int setLoginUserAlias(String alias,Long userId,String userType,String token);

    /**
     * 更新已登录用户的别名信息
     * @param userAlias
     * @param alias
     * @param token
     * @return
     */
    int updateLoginUserAlias(UserAlias userAlias,String alias,String token);

    List<UserAlias> selectCourierUserAliasListByOrdersId(Long ordersId);


}
